js.underas.net.Task = new Class({
	"Extends":js.underas.core.Component
	,"s":""
	,"t":11
	,"idRequest":0
	//,"onLoad":null
	,"initialize":function(p_dts){
		this.parent("div","");
		this.getEle().addClass("Task");
		if(p_dts.idRequest){
			this.uid = p_dts.idRequest;
		};	
		//p_dts = Object.merge({"idRequest":this.uid,"onLoad":function(dtk2){}},p_dts);
		//this.idRequest = p_dts.idRequest;
		this.idRequest = this.uid;
		//this.onLoad = p_dts.onLoad;
		this.s = new String(p_dts.s);
		this.getEle().set("id","uid_"+this.uid).setStyle("width","100%");
		if(!p_dts.t){
			this.t = p_dts.idRequest;
		}
		this.lbMsg = new js.underas.controller.Label("20% --> "+this.getTaskDesc());
		this.lbMsg.getEle().setStyles({"font-size":"8px","font-weight":"normal","float":"left","margin-bottom":"2px","width":"100%"});
		this.getEle().grab(this.lbMsg.getEle());
	}
	,"finalizar":function(dtk2){
		this.getEle().addClass("finalizado");
		//this.onLoad(dtk2);
		//js.underas.net.RequestManager;
		this.lbMsg.setText("100% --> "+this.getTaskDesc());
		js.underas.net.RequestManager._log_success({"s":this.s+"","m":"ok"});
	}
	,"reload":function(){	
		if(this.getEle().hasClass("TaskErro")){
		}else if(!this.getEle().hasClass("finalizado")){
			this.cancel();
		}
	}
	,"cancel":function(){
		this.getEle().addClass("finalizado");	
		js.underas.net.RequestManager;
	}
	,"setErro":function(eh){
		 if(eh){
			this.getEle().addClass("TaskErro");
			this.lbMsg.getEle().addClass("alert-warning");
			this.lbMsg.getEle().getParent(".blockrequest").removeClass("normal_load").addClass("erro_load");
		 }else{
			this.lbMsg.getEle().removeClass("alert-warning");
		 }
	}
	,"setMSG":function(strMSG){
		this.lbMsg.setText(this.getTaskDesc()+":"+strMSG);
	} 
	,"setTaskDesc":function(strMSG){
		var textoT = new String(this.getTaskDesc()+" "+strMSG);
		if(textoT.length>55){
			textoT=textoT.substr(0,55)+"...";
		}
		this.setMSG(textoT);
	}
	,"getTaskDesc":function(){
		return this.s.replace("."," ").toUpperCase()+" #"+this.idRequest;
	}
	,"erroState":function(msge){
		this.setErro(true);
		if(msge.join()){
			this.setMSG(msge.join());
		}		
		js.underas.net.RequestManager._log_erro({"s":this.s+"","e":msge});
	}
});      


